/**
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

{namespace com.google.gerrit.server.mail.template.ReplacePatchSet}

/**
 * The .ReplacePatchSet template will determine the contents of the email
 * related to a user submitting a new patchset for a change.
 */
{template ReplacePatchSet kind="text"}
  {@param change: ?}
  {@param email: ?}
  {@param fromEmail: ?}
  {@param fromName: ?}
  {@param patchSet: ?}
  {@param projectName: ?}
  {@param unsatisfiedSubmitRequirements: ?}
  {@param oldSubmitRequirements: ?}
  {@param newSubmitRequirements: ?}
  {if $email.reviewerNames and $fromEmail == $change.ownerEmail}
    Hello{sp}
    {for $reviewerName in $email.reviewerNames}
      {$reviewerName},{sp}
    {/for}{\n}
    {\n}
    I'd like you to reexamine a change.
    {if $email.changeUrl}
      {sp}Please visit
      {\n}
      {\n}
      {sp}{sp}{sp}{sp}{$email.changeUrl}
      {\n}
      {\n}
      to look at the new patch set (#{$patchSet.patchSetId}).
    {/if}
  {else}
    {$fromName} has uploaded a new patch set (#{$patchSet.patchSetId})
    {if $fromEmail != $change.ownerEmail}
      {sp}to the change originally created by {$change.ownerName}
    {/if}.
    {if $email.changeUrl} ( {$email.changeUrl} ){/if}
  {/if}{\n}
  {if $email.outdatedApprovals and length($email.outdatedApprovals) > 0}
    {\n}
    The following approvals got outdated and were removed:{\n}
    {for $outdatedApproval, $index in $email.outdatedApprovals}
      {if $index > 0}
        ,{sp}
      {/if}
      {$outdatedApproval}
    {/for}{\n}
  {/if}
  {if $unsatisfiedSubmitRequirements}
    {\n}
    The change is no longer submittable:{sp}
    {if length($unsatisfiedSubmitRequirements) > 0}
      {for $unsatisfiedSubmitRequirement, $index in $unsatisfiedSubmitRequirements}
        {if $index > 0}
          {if $index == length($unsatisfiedSubmitRequirements) - 1}
            {sp}and{sp}
          {else}
            ,{sp}
          {/if}
        {/if}
        {$unsatisfiedSubmitRequirement}
      {/for}
      {sp}
      {if length($unsatisfiedSubmitRequirements) == 1}
        is
      {else}
        are
      {/if}
      {sp}unsatisfied now.{\n}
    {/if}
  {/if}
  {\n}
  {\n}
  Change subject: {$change.subject}{\n}
  ......................................................................{\n}
  {\n}
  {$email.changeDetail}{\n}
  {if $email.sshHost}
    {sp}{sp}git pull ssh:{print '//'}{$email.sshHost}/{$projectName}{sp}
        {$patchSet.refName}
    {\n}
  {/if}
{/template}
